<?php

include_once($cfgPaths['lib/admin'].'hiermenu.o.inc.php');

class cmsImgCatTreeViewMove extends hiermenu{

  function generateLink(&$ds){
    if ($ds['id'] != $this->init_data['dir']){
      $str  = ' <img src="../cms/img/folder.gif" width=16 height=16 border=0 align="top"> <a href="'.$this->init_data['link'].'?action=move&';
      if ($this->init_data['dir'])
        $str .= 'dir='.$this->init_data['dir'];
      elseif($this->init_data['img'])
        $str .= 'img='.$this->init_data['img'];
      $str .= '&new_parent='.$ds['id'].'">'.$ds['name'].'</a>';
    } else
      $str =  ' <img src="../cms/img/folder.gif" width=16 height=16 border=0 align="top"> '.$ds['name'];
    return $str;
  }

  // wird aufgerufen, wenn unterverzeichnis offen ist
  function uptree_open($layer,$id,$descr,&$dataset,$is_last,$is_first,$parent_is_last){
     echo "<nobr>";
     for ($i=0;$i<count($parent_is_last);$i++){
        if ($parent_is_last[$i]){
         $spacer .= '<img src="../0.gif" border=0 align="top">';
	} else {
         $spacer .= '<img src="../10.gif" border=0 align="top">';
	}
     }
     echo $spacer.'<a href="'.$this->script_name.'?cat='.$id.'&img='.$this->init_data['img'].'">';
     if ($is_last){
       echo '<img src="../1010.gif" border=0 align="top">';
     } else {
       echo '<img src="../101.gif" border=0 align="top">';
     }
     echo '</a>';
     echo $this->generateLink($dataset);
     echo "</nobr><br>\n";
    // verschobenes Dir und dessen children sperren -> ordener darf nicht in sich selbst veerschoben werden
    if ($id == $this->init_data['dir']){
      for ($i=0;$i<count($dataset['uptree']);$i++)
        $dataset['uptree'][$i]['open'] = false;
    }
  }

  // wird aufgerufen, wenn unterverzeichnis geschlossen ist
  function uptree_closed($layer,$id,$descr,&$dataset,$is_last,$is_first,$parent_is_last){
     echo "<nobr>";
     for ($i=0;$i<count($parent_is_last);$i++){
        if ($parent_is_last[$i]){
         $spacer .= '<img src="../0.gif" border=0 align="top">';
	} else {
         $spacer .= '<img src="../10.gif" border=0 align="top">';
	}
     }
     echo $spacer.'<a href="'.$this->script_name.'?cat='.$id.'&img='.$this->init_data['img'].'">';
     if ($is_last){
       echo '<img src="../1000.gif" border=0 align="top">';
     } else {
       echo '<img src="../100.gif" border=0 align="top">';
     }
     echo '</a>';
     echo $this->generateLink($dataset);
     echo "</nobr><br>\n";
    // verschobenes Dir und dessen children sperren -> ordener darf nicht in sich selbst veerschoben werden
    if ($id == $this->init_data['dir']){
      for ($i=0;$i<count($dataset['uptree']);$i++)
        $dataset['uptree'][$i]['open'] = false;
    }
  }

  // wird aufgerufen, wenn kein unterverzeichnis vorhanden ist
  function nouptree($layer,$id,$descr,&$dataset,$is_last,$is_first,$parent_is_last){
     echo "<nobr>";
     for ($i=0;$i<count($parent_is_last);$i++){
        if ($parent_is_last[$i]){
         $spacer .= '<img src="../0.gif" border=0 align="top">';
	} else {
         $spacer .= '<img src="../10.gif" border=0 align="top">';
	}
     }
     echo $spacer;
     if ($is_last){
       echo '<img src="../01.gif" border=0 align="top">';
     } else {
       echo '<img src="../00.gif" border=0 align="top">';
     }
     echo $this->generateLink($dataset);
     echo "</nobr><br>\n";
    // verschobenes Dir und dessen children sperren -> ordener darf nicht in sich selbst veerschoben werden
    if ($id == $this->init_data['dir']){
      for ($i=0;$i<count($dataset['uptree']);$i++)
        $dataset['uptree'][$i]['open'] = false;
    }
  }


}

?>
